package com.web.controller;

import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.web.model.PageFirstType;
import com.web.model.User;
import org.apache.log4j.Logger;

import java.util.List;

import com.web.util.Properties;

/**
 * Created by reeves on 2015/7/3.
 */
public class UserController extends Controller {

    /*创建log4j对象*/
    private static final Logger LOGGER = Logger.getLogger(UserController.class);


    public void welcome() {
        LOGGER.info("user welcome...");
        redirect("/login.jsp");
    }

    /**
     * 用户登陆
     */
    public void login() {
        LOGGER.info("user login...");
        String userId = getPara("user.id");
        String userPasswd = getPara("user.passwd");

        /**
         * 根据用户名和密码尝试获取用户对象
         */
        User user = User.userModel.findById(userId);

        if (user == null) {
            /**
             * 啊哦，如果用户不存在
             */
            LOGGER.error("用户登陆：登陆失败，找不到此用户！");
            setAttr("IdMessage", "对不起,没有此用户名！");
            renderJsp("/login.jsp");
        } else if (userPasswd.equals(user.getStr("passwd"))) {
            /**
             * 找到了用户
             */
            LOGGER.info("用户登陆：登陆信息匹配...");
            /**
             * 获取推荐页面的信息数据，因为登录成功后进入的就是推荐界面
             * 1. 这里的推荐界面是选过位置的推荐信息；2. 这里的信息都是审核过的；
             *
             * 发送的信息：id,pageDate,imageSrc,firstTitle,thirdTypeName,pageFrom,recomPos,isReady,name,sourceAddress
             */
            Page<Record> page = PageFirstType.pageDao.getFirstPage(1, Properties.PageSize_Main, 0);
            List<Record> pageFirstTypeList = page.getList();

            /*向页面发送数据*/
            setAttr("pageInfoList", pageFirstTypeList);
            setAttr("currentPage", 1);
            setAttr("totalPage", PageFirstType.pageDao.getPageNumberFirst(Properties.PageSize_Main, 0));
            setAttr("firstType", 1);

            /*session域中存储editorId and name*/
            getSession().setAttribute("editorId", userId);
            getSession().setAttribute("editorName",user.getStr("name"));

            renderJsp("/page/recom.jsp");
        } else {
            LOGGER.error("用户登陆：登录信息错误...");
            setAttr("PsMessage", "您的登陆密码错误！");
            renderJsp("/login.jsp");
        }
    }

}
